home *** CD-ROM | disk | FTP | other *** search
/ Young Minds / Young Minds Interactive CD-ROM.ISO / rogue / patch1 / Patches01 < prev   
Encoding:
Text File  |  1987-05-30  |  13.8 KB  |  715 lines

  1. *** Makefile.orig    Mon May 11 12:10:18 1987
  2. --- Makefile    Thu May 28 15:24:33 1987
  3. ***************
  4. *** 4,19 ****
  5.   
  6.   CC = cc
  7.   
  8. ! # Remember to remove the "-lcurses -ltermlib" if compiling with -DCURSES.
  9. ! # Put into CFLAGS those UNIX "defines" which apply to your system.  Their
  10. ! # should be at least two.
  11. ! # -DCURSES enables a self-contained curses emulation package.  See notes
  12. ! # in curses.c for more info.
  13.   
  14. ! CFLAGS = -c -DUNIX -DUNIX_BSD4_2
  15.   
  16.   rogue: $(ROGUE_OBJS)
  17. !     $(CC) $(ROGUE_OBJS) -lcurses -ltermlib -o rogue
  18.   
  19.   curses.o: curses.c rogue.h
  20.       $(CC) $(CFLAGS) curses.c
  21. --- 4,39 ----
  22.   
  23.   CC = cc
  24.   
  25. ! # Put into CFLAGS those UNIX "defines" which apply to your system.
  26. ! #
  27. ! # Options:
  28. ! #    -DUNIX        for all Unix based systems
  29. ! #    -DUNIX_BSD4_2    for most BSD based Unix systems
  30. ! #    -DUNIX_SYSV    for System V based Unix systems
  31. ! #    -DBAD_NONL    for systems with the nonl() curses bug
  32. ! #    -DCURSES     enables a self-contained curses emulation package
  33. ! #             Remember to remove the "-lcurses -ltermlib"
  34. ! #            if compiling with -DCURSES.
  35. ! #    -Ml        compile with large model (SysV PC/AT's)
  36.   
  37. ! CFLAGS = -c -DUNIX -DUNIX_BSD4_2    # BSD4.[23]
  38. ! #CFLAGS = -c -DUNIX -DUNIX_SYSV        # Vanilla SysV
  39. ! #CFLAGS = -c -DUNIX -DUNIX_SYSV -DINT16 -Ml # Microport SysV, Rel2 for PC/AT
  40.   
  41. + # Put into LDFLAGS those options which apply to your system.
  42. + #
  43. + # Options:
  44. + #    -lcurses    use standard curses package
  45. + #    -ltermlib    to extract terminal capabilities
  46. + #    -Ml        link with large model (SysV PC/AT's)
  47. + LDFLAGS = -lcurses -ltermlib    # Vanilla BSD and SysV
  48. + #LDFLAGS = -Ml -lcurses        # Microport SysV, Rel2 for PC/AT
  49. + #LDFLAGS =            # for use with self-contained curses
  50. +                 # package (-DCURSES)
  51.   rogue: $(ROGUE_OBJS)
  52. !     $(CC) $(ROGUE_OBJS) $(LDFLAGS) -o rogue
  53.   
  54.   curses.o: curses.c rogue.h
  55.       $(CC) $(CFLAGS) curses.c
  56. *** rogue.h.orig    Mon May 11 12:10:22 1987
  57. --- rogue.h    Fri May 29 14:18:42 1987
  58. ***************
  59. *** 435,439 ****
  60.   extern char *CL;
  61.   
  62.   char *md_gdtcf();
  63. ! #endif CURSES
  64. --- 435,440 ----
  65.   extern char *CL;
  66.   
  67.   char *md_gdtcf();
  68. ! #else
  69. ! #include <curses.h>
  70. ! #endif /* CURSES */
  71. *** /dev/null    Fri May 29 14:38:00 1987
  72. --- patchlevel.h    Thu May 28 15:06:56 1987
  73. ***************
  74. *** 0 ****
  75. --- 1 ----
  76. + #define PATCHLEVEL 1
  77. *** curses.c.orig    Mon May 11 12:10:43 1987
  78. --- curses.c    Fri May 29 14:19:41 1987
  79. ***************
  80. *** 647,650 ****
  81.       cm_end[j] = 0;
  82.   }
  83.   
  84. ! #endif CURSES
  85. --- 647,650 ----
  86.       cm_end[j] = 0;
  87.   }
  88.   
  89. ! #endif /* CURSES */
  90. *** hit.c.orig    Mon May 11 12:10:24 1987
  91. --- hit.c    Fri May 29 14:20:03 1987
  92. ***************
  93. *** 10,18 ****
  94.    *
  95.    */
  96.   
  97. - #ifndef CURSES
  98. - #include <curses.h>
  99. - #endif CURSES
  100.   #include "rogue.h"
  101.   
  102.   object *fight_monster = 0;
  103. --- 10,15 ----
  104. *** init.c.orig    Mon May 11 12:10:25 1987
  105. --- init.c    Fri May 29 14:20:21 1987
  106. ***************
  107. *** 10,24 ****
  108.    *
  109.    */
  110.   
  111. - #ifndef CURSES
  112. - #include <curses.h>
  113. - #endif CURSES
  114.   #include <stdio.h>
  115.   #include "rogue.h"
  116.   
  117.   char login_name[30];
  118.   char *nick_name = "";
  119. ! char *restore_file = 0;
  120.   boolean cant_int = 0, did_int = 0, score_only, init_curses = 0;
  121.   boolean save_is_interactive = 1;
  122.   boolean ask_quit = 1, show_skull = 1;
  123. --- 10,21 ----
  124.    *
  125.    */
  126.   
  127.   #include <stdio.h>
  128.   #include "rogue.h"
  129.   
  130.   char login_name[30];
  131.   char *nick_name = "";
  132. ! char *rest_file = 0;
  133.   boolean cant_int = 0, did_int = 0, score_only, init_curses = 0;
  134.   boolean save_is_interactive = 1;
  135.   boolean ask_quit = 1, show_skull = 1;
  136. ***************
  137. *** 46,52 ****
  138.       }
  139.       (void) strcpy(login_name, pn);
  140.   
  141. !     if (!score_only && !restore_file) {
  142.           printf("Hello %s, just a moment while I dig the dungeon...",
  143.           ((nick_name[0]) ? nick_name : login_name));
  144.           fflush(stdout);
  145. --- 43,49 ----
  146.       }
  147.       (void) strcpy(login_name, pn);
  148.   
  149. !     if (!score_only && !rest_file) {
  150.           printf("Hello %s, just a moment while I dig the dungeon...",
  151.           ((nick_name[0]) ? nick_name : login_name));
  152.           fflush(stdout);
  153. ***************
  154. *** 66,73 ****
  155.       }
  156.       seed = md_gseed();
  157.       (void) srrandom(seed);
  158. !     if (restore_file) {
  159. !         restore(restore_file);
  160.           return(1);
  161.       }
  162.       mix_colors();
  163. --- 63,70 ----
  164.       }
  165.       seed = md_gseed();
  166.       (void) srrandom(seed);
  167. !     if (rest_file) {
  168. !         restore(rest_file);
  169.           return(1);
  170.       }
  171.       mix_colors();
  172. ***************
  173. *** 148,154 ****
  174. --- 145,153 ----
  175.   {
  176.       crmode();
  177.       noecho();
  178. + #ifndef BAD_NONL
  179.       nonl();
  180. + #endif /* BAD_NONL */
  181.       md_control_keybord(0);
  182.   }
  183.   
  184. ***************
  185. *** 204,210 ****
  186.                   }
  187.               }
  188.           } else {
  189. !             restore_file = argv[i];
  190.           }
  191.       }
  192.   }
  193. --- 203,209 ----
  194.                   }
  195.               }
  196.           } else {
  197. !             rest_file = argv[i];
  198.           }
  199.       }
  200.   }
  201. *** inventory.c.orig    Mon May 11 12:10:28 1987
  202. --- inventory.c    Fri May 29 14:20:35 1987
  203. ***************
  204. *** 10,18 ****
  205.    *
  206.    */
  207.   
  208. - #ifndef CURSES
  209. - #include <curses.h>
  210. - #endif CURSES
  211.   #include "rogue.h"
  212.   
  213.   #define swap_string(x,y) {t = x; x = y; y = t;}
  214. --- 10,15 ----
  215. ***************
  216. *** 165,171 ****
  217.       move(0, 0);
  218.       clrtoeol();
  219.   
  220. !     for (j = 1; j < i; j++) {
  221.           mvaddstr(j, col, descs[j-1]);
  222.       }
  223.   }
  224. --- 162,168 ----
  225.       move(0, 0);
  226.       clrtoeol();
  227.   
  228. !     for (j = 1; ((j < i) && (j < DROWS)); j++) {
  229.           mvaddstr(j, col, descs[j-1]);
  230.       }
  231.   }
  232. *** level.c.orig    Mon May 11 12:10:34 1987
  233. --- level.c    Fri May 29 14:20:48 1987
  234. ***************
  235. *** 10,18 ****
  236.    *
  237.    */
  238.   
  239. - #ifndef CURSES
  240. - #include <curses.h>
  241. - #endif CURSES
  242.   #include "rogue.h"
  243.   
  244.   #define swap(x,y) {t = x; x = y; y = t;}
  245. --- 10,15 ----
  246. ***************
  247. *** 46,52 ****
  248.       99900000L
  249.   };
  250.   
  251. ! char random_rooms[MAXROOMS+1] = "\003\007\005\002\010\006\001\004\0";
  252.   
  253.   extern boolean being_held, wizard, detect_monster;
  254.   extern boolean see_invisible;
  255. --- 43,49 ----
  256.       99900000L
  257.   };
  258.   
  259. ! short random_rooms[MAXROOMS] = {3, 7, 5, 2, 0, 6, 1, 4, 8};
  260.   
  261.   extern boolean being_held, wizard, detect_monster;
  262.   extern boolean see_invisible;
  263. *** message.c.orig    Mon May 11 12:10:37 1987
  264. --- message.c    Fri May 29 14:21:38 1987
  265. ***************
  266. *** 10,18 ****
  267.    *
  268.    */
  269.   
  270. - #ifndef CURSES
  271. - #include <curses.h>
  272. - #endif CURSES
  273.   #include <stdio.h>
  274.   #include "rogue.h"
  275.   
  276. --- 10,15 ----
  277. ***************
  278. *** 150,156 ****
  279.               fflush(stdout);
  280.               tstp();
  281.               break;
  282. ! #endif UNIX_BSD4_2
  283.           case 'X':
  284.               save_screen();
  285.               break;
  286. --- 147,153 ----
  287.               fflush(stdout);
  288.               tstp();
  289.               break;
  290. ! #endif /* UNIX_BSD4_2 */
  291.           case 'X':
  292.               save_screen();
  293.               break;
  294. ***************
  295. *** 189,195 ****
  296.               }
  297.               mvaddstr(row, 10, "Gold: ");
  298.           }
  299. !         sprintf(buf, "%d", rogue.gold);
  300.           mvaddstr(row, 16, buf);
  301.           pad(buf, 6);
  302.       }
  303. --- 186,192 ----
  304.               }
  305.               mvaddstr(row, 10, "Gold: ");
  306.           }
  307. !         sprintf(buf, "%ld", rogue.gold);
  308.           mvaddstr(row, 16, buf);
  309.           pad(buf, 6);
  310.       }
  311. ***************
  312. *** 234,240 ****
  313.               mvaddstr(row, 56, "Exp: ");
  314.           }
  315.           /*  Max exp taken care of in add_exp() */
  316. !         sprintf(buf, "%d/%D", rogue.exp, rogue.exp_points);
  317.           mvaddstr(row, 61, buf);
  318.           pad(buf, 11);
  319.       }
  320. --- 231,237 ----
  321.               mvaddstr(row, 56, "Exp: ");
  322.           }
  323.           /*  Max exp taken care of in add_exp() */
  324. !         sprintf(buf, "%d/%ld", rogue.exp, rogue.exp_points);
  325.           mvaddstr(row, 61, buf);
  326.           pad(buf, 11);
  327.       }
  328. *** monster.c.orig    Mon May 11 12:10:41 1987
  329. --- monster.c    Fri May 29 14:21:49 1987
  330. ***************
  331. *** 10,18 ****
  332.    *
  333.    */
  334.   
  335. - #ifndef CURSES
  336. - #include <curses.h>
  337. - #endif CURSES
  338.   #include "rogue.h"
  339.   
  340.   object level_monsters;
  341. --- 10,15 ----
  342. *** move.c.orig    Mon May 11 12:10:48 1987
  343. --- move.c    Fri May 29 14:22:01 1987
  344. ***************
  345. *** 10,18 ****
  346.    *
  347.    */
  348.   
  349. - #ifndef CURSES
  350. - #include <curses.h>
  351. - #endif CURSES
  352.   #include "rogue.h"
  353.   
  354.   short m_moves = 0;
  355. --- 10,15 ----
  356. ***************
  357. *** 449,468 ****
  358. --- 446,473 ----
  359.       switch(d) {
  360.           case 1:
  361.               d = 'j';
  362. +             break;
  363.           case 2:
  364.               d = 'k';
  365. +             break;
  366.           case 3:
  367.               d = 'l';
  368. +             break;
  369.           case 4:
  370.               d = 'h';
  371. +             break;
  372.           case 5:
  373.               d = 'y';
  374. +             break;
  375.           case 6:
  376.               d = 'u';
  377. +             break;
  378.           case 7:
  379.               d = 'b';
  380. +             break;
  381.           case 8:
  382.               d = 'n';
  383. +             break;
  384.       }
  385.       return(d);
  386.   }
  387. *** object.c.orig    Mon May 11 12:11:06 1987
  388. --- object.c    Fri May 29 14:22:10 1987
  389. ***************
  390. *** 10,18 ****
  391.    *
  392.    */
  393.   
  394. - #ifndef CURSES
  395. - #include <curses.h>
  396. - #endif CURSES
  397.   #include "rogue.h"
  398.   
  399.   object level_objects;
  400. --- 10,15 ----
  401. ***************
  402. *** 240,256 ****
  403.       }
  404.   }
  405.   
  406. - free_free_list()
  407. - {
  408. -     object *obj;
  409. -     while (free_list) {
  410. -         obj = free_list;
  411. -         free_list = free_list->next_object;
  412. -         free_object(obj);
  413. -     }
  414. - }
  415.   char *
  416.   name_of(obj)
  417.   object *obj;
  418. --- 237,242 ----
  419. ***************
  420. *** 593,599 ****
  421.           obj = free_list;
  422.           free_list = free_list->next_object;
  423.       } else if (!(obj = (object *) md_malloc(sizeof(object)))) {
  424. -             free_free_list();
  425.               message("cannot allocate object, saving game", 0);
  426.               save_into_file(error_file);
  427.       }
  428. --- 579,584 ----
  429. *** pack.c.orig    Mon May 11 12:11:20 1987
  430. --- pack.c    Fri May 29 14:22:20 1987
  431. ***************
  432. *** 10,18 ****
  433.    *
  434.    */
  435.   
  436. - #ifndef CURSES
  437. - #include <curses.h>
  438. - #endif CURSES
  439.   #include "rogue.h"
  440.   
  441.   char *curse_message = "you can't, it appears to be cursed";
  442. --- 10,15 ----
  443. ***************
  444. *** 486,489 ****
  445. --- 483,515 ----
  446.   has_amulet()
  447.   {
  448.       return(mask_pack(&rogue.pack, AMULET));
  449. + }
  450. + kick_into_pack()
  451. + {
  452. +     object *obj;
  453. +     char desc[DCOLS];
  454. +     short n, stat;
  455. +     if (!(dungeon[rogue.row][rogue.col] & OBJECT)) {
  456. +         message("nothing here", 0);
  457. +     } else {
  458. +         if (obj = pick_up(rogue.row, rogue.col, &stat)) {
  459. +             get_desc(obj, desc);
  460. +             if (obj->what_is == GOLD) {
  461. +                 message(desc, 0);
  462. +                 free_object(obj);
  463. +             } else {
  464. +                 n = strlen(desc);
  465. +                 desc[n] = '(';
  466. +                 desc[n+1] = obj->ichar;
  467. +                 desc[n+2] = ')';
  468. +                 desc[n+3] = 0;
  469. +                 message(desc, 0);
  470. +             }
  471. +         }
  472. +         if (obj || (!stat)) {
  473. +             (void) reg_move();
  474. +         }
  475. +     }
  476.   }
  477. *** play.c.orig    Mon May 11 12:11:23 1987
  478. --- play.c    Fri May 29 14:22:29 1987
  479. ***************
  480. *** 10,18 ****
  481.    *
  482.    */
  483.   
  484. - #ifndef CURSES
  485. - #include <curses.h>
  486. - #endif CURSES
  487.   #include "rogue.h"
  488.   
  489.   boolean interrupted = 0;
  490. --- 10,15 ----
  491. ***************
  492. *** 232,237 ****
  493. --- 229,237 ----
  494.               break;
  495.           case 'S':
  496.               save_game();
  497. +             break;
  498. +         case ',':
  499. +             kick_into_pack();
  500.               break;
  501.           default:
  502.               message(unknown_command, 0);
  503. *** random.c.orig    Mon May 11 12:11:32 1987
  504. --- random.c    Thu May 28 15:04:24 1987
  505. ***************
  506. *** 61,74 ****
  507.   register int x, y;
  508.   {
  509.       register int r, t;
  510.       if (x > y) {
  511.           t = y;
  512.           y = x;
  513.           x = t;
  514.       }
  515. !     r = (int) rrandom();
  516. !     r = (r % ((y-x)+1)) + x;
  517.       return(r);
  518.   }
  519.   
  520. --- 61,77 ----
  521.   register int x, y;
  522.   {
  523.       register int r, t;
  524. !     long lr;
  525. !     
  526.       if (x > y) {
  527.           t = y;
  528.           y = x;
  529.           x = t;
  530.       }
  531. !     lr = rrandom();
  532. !     lr &= (long) 0x00007fff;
  533. !     r = (int) lr;
  534. !     r = (r % ((y - x) + 1)) + x;
  535.       return(r);
  536.   }
  537.   
  538. *** room.c.orig    Mon May 11 12:11:37 1987
  539. --- room.c    Fri May 29 14:22:54 1987
  540. ***************
  541. *** 10,18 ****
  542.    *
  543.    */
  544.   
  545. - #ifndef CURSES
  546. - #include <curses.h>
  547. - #endif CURSES
  548.   #include "rogue.h"
  549.   
  550.   room rooms[MAXROOMS];
  551. --- 10,15 ----
  552. *** save.c.orig    Mon May 11 12:11:40 1987
  553. --- save.c    Fri May 29 14:24:31 1987
  554. ***************
  555. *** 10,18 ****
  556.    *
  557.    */
  558.   
  559. - #ifndef CURSES
  560. - #include <curses.h>
  561. - #endif CURSES
  562.   #include <stdio.h>
  563.   #include "rogue.h"
  564.   
  565. --- 10,15 ----
  566. *** score.c.orig    Mon May 11 12:11:46 1987
  567. --- score.c    Fri May 29 14:25:01 1987
  568. ***************
  569. *** 10,18 ****
  570.    *
  571.    */
  572.   
  573. - #ifndef CURSES
  574. - #include <curses.h>
  575. - #endif CURSES
  576.   #include <stdio.h>
  577.   #include "rogue.h"
  578.   
  579. --- 10,15 ----
  580. ***************
  581. *** 61,67 ****
  582.           (void) strcat(buf, m_names[monster->m_char - 'A']);
  583.       }
  584.       (void) strcat(buf, " with ");
  585. !     sprintf(buf+strlen(buf), "%d gold", rogue.gold);
  586.       if ((!other) && show_skull) {
  587.           clear();
  588.           mvaddstr(4, 32, "__---------__");
  589. --- 58,64 ----
  590.           (void) strcat(buf, m_names[monster->m_char - 'A']);
  591.       }
  592.       (void) strcat(buf, " with ");
  593. !     sprintf(buf+strlen(buf), "%ld gold", rogue.gold);
  594.       if ((!other) && show_skull) {
  595.           clear();
  596.           mvaddstr(4, 32, "__---------__");
  597. ***************
  598. *** 414,419 ****
  599. --- 411,419 ----
  600.           break;
  601.       case AMULET:
  602.           val = 5000;
  603. +         break;
  604. +     case RING:
  605. +         val = id_rings[wc].value * (obj->class + 1);
  606.           break;
  607.       }
  608.       if (val <= 0) {
  609. *** spec_hit.c.orig    Mon May 11 12:10:52 1987
  610. --- spec_hit.c    Fri May 29 14:25:11 1987
  611. ***************
  612. *** 10,18 ****
  613.    *
  614.    */
  615.   
  616. - #ifndef CURSES
  617. - #include <curses.h>
  618. - #endif CURSES
  619.   #include "rogue.h"
  620.   
  621.   short less_hp = 0;
  622. --- 10,15 ----
  623. *** throw.c.orig    Mon May 11 12:11:50 1987
  624. --- throw.c    Fri May 29 14:25:22 1987
  625. ***************
  626. *** 10,18 ****
  627.    *
  628.    */
  629.   
  630. - #ifndef CURSES
  631. - #include <curses.h>
  632. - #endif CURSES
  633.   #include "rogue.h"
  634.   
  635.   extern short cur_room;
  636. --- 10,15 ----
  637. *** trap.c.orig    Mon May 11 12:11:53 1987
  638. --- trap.c    Fri May 29 14:25:42 1987
  639. ***************
  640. *** 10,18 ****
  641.    *
  642.    */
  643.   
  644. - #ifndef CURSES
  645. - #include <curses.h>
  646. - #endif CURSES
  647.   #include "rogue.h"
  648.   
  649.   trap traps[MAX_TRAPS];
  650. --- 10,15 ----
  651. *** use.c.orig    Mon May 11 12:11:31 1987
  652. --- use.c    Fri May 29 14:25:52 1987
  653. ***************
  654. *** 10,18 ****
  655.    *
  656.    */
  657.   
  658. - #ifndef CURSES
  659. - #include <curses.h>
  660. - #endif CURSES
  661.   #include "rogue.h"
  662.   
  663.   short halluc = 0;
  664. --- 10,15 ----
  665. *** zap.c.orig    Mon May 11 12:11:55 1987
  666. --- zap.c    Fri May 29 14:26:04 1987
  667. ***************
  668. *** 10,18 ****
  669.    *
  670.    */
  671.   
  672. - #ifndef CURSES
  673. - #include <curses.h>
  674. - #endif CURSES
  675.   #include "rogue.h"
  676.   
  677.   boolean wizard = 0;
  678. --- 10,15 ----
  679. ***************
  680. *** 173,183 ****
  681.           being_held = 0;
  682.       }
  683.       gr_row_col(&row, &col, (FLOOR | TUNNEL | STAIRS | OBJECT));
  684.       dungeon[monster->row][monster->col] &= ~MONSTER;
  685.       monster->row = row; monster->col = col;
  686.       dungeon[row][col] |= MONSTER;
  687.       monster->trail_char = mvinch(row, col);
  688.   }
  689.   
  690.   wizardize()
  691. --- 170,183 ----
  692.           being_held = 0;
  693.       }
  694.       gr_row_col(&row, &col, (FLOOR | TUNNEL | STAIRS | OBJECT));
  695. +     mvaddch(monster->row, monster->col, monster->trail_char);
  696.       dungeon[monster->row][monster->col] &= ~MONSTER;
  697.       monster->row = row; monster->col = col;
  698.       dungeon[row][col] |= MONSTER;
  699.       monster->trail_char = mvinch(row, col);
  700. +     if (detect_monster || rogue_can_see(row, col)) {
  701. +         mvaddch(row, col, gmc(monster));
  702. +     }
  703.   }
  704.   
  705.   wizardize()
  706.